Combining segments of users into vertically indexed super-segments

ABSTRACT

Techniques are described herein for combining segments of users into super-segments. The interests of the segments in online ad campaigns in which they participate are compared to determine subsets of the segments whose interests are correlated to an extent that exceeds a designated threshold. The segments in each subset are combined to provide a respective super-segment. Each online ad campaign corresponds to a specified category, such as telecommunications, auto, finance, retail, entertainment, travel, etc. For each super-segment, the cumulative interest of the segments therein for each category are determined. The cumulative interests for each super-segment are used to determine which super-segment(s) are to be targeted for receiving a specified online advertisement. For instance, the cumulative interests of the respective super-segments in the category most closely related to a subject matter with which the specified online advertisement is associated may be compared to determine which super-segment(s) are to be targeted.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to online advertising.

2. Background

Certain advertisement (“ad”) networks enable ads (e.g., contextual ads,display ads) to be served to users who visit the Web sites of publishersthat are participating in the ad network. Advertisers generate the adsand buy placements (a.k.a. inventory) for those ads on the publishers'Web sites usually based on the anticipated audiences for those sitesand/or the content of those sites. These ads may be graphical (“displayads”) or textual. A placement represents a publisher's agreement toserve a trafficked (i.e., specified) ad to users when the users visitthe publisher's site. The publisher often serves the trafficked displayor contextual ad contemporaneously with other content associated withthe publisher's site. Similarly, sponsored search advertising systemsserve ads (“sponsored ads”) to users that enter queries on search enginewebsites, often alongside the responses to the queries.

Ad networks typically include ad serving systems that determine whichadvertisements are to be provided to users. In conventional contextualor display ad networks, when a publisher receives a page view from auser, the publisher sends an ad call to an ad serving system. An ad callis a request for an advertisement. The ad call usually contains someinformation about the users visiting the publisher's site and to whom anad is to be served. For instance, this information may include anysuitable cookie-based information, including but not limited to age ofthe person, sex, geographic location, browsing history, segments theusers fall into, etc. The ad serving system selects an advertisementfrom an ad inventory based on these various factors. The ad servingsystem also determines which segments (i.e., subsets) of the users areable to receive each advertisement. For instance, a first advertisementmay be selected for provision to a first segment of the users, a secondadvertisement may be selected for provision to a second segment of theusers, and so on.

Conventional techniques for selecting segments for receipt ofadvertisements are typically based on prior knowledge regardingperformance of particular segments with regard to other advertisementsor semantics regarding names of the segments. For example, informationpertaining to performance of targeted segments with regard to previouslyprovided advertisements that are directed to a certain subject mattermay be used to determine which segments are likely to perform well withregard to a present advertisement that is directed to the same subjectmatter. However, it is possible that few or none of the previouslyprovided advertisements are directed to the subject matter of thepresent advertisement.

In another example, an advertisement initially may be provided acrossall possible segments. Information pertaining to performance of eachsegment with regard to the advertisement may be used to determine whichof the segments are to continue receiving the advertisement goingforward. However, a substantial portion of a time period over which acorresponding ad campaign is to run may be used for gathering suchinformation. Accordingly, the advertisement is often targeted toparticular segments for only a fraction of the time that is allocatedfor the ad campaign.

In yet another example, the names of the segments may be semanticallycompared to the name of an advertisement to determine which segments areto receive the advertisement. For instance, the name of a segment mayinclude the term “auto”. Accordingly, the segment may be selected forreceipt of an advertisement relating to an automobile. However, segmentsthat may perform well with regard to an advertisement but that do nothave names that include a matching semantic may not be selected forreceipt of the advertisement.

The amount of information that is available with respect to somesegments may not be sufficient for such conventional techniques todetermine whether those segments are to be selected for receipt for anadvertisement.

BRIEF SUMMARY OF THE INVENTION

Various approaches are described herein for, among other things,combining segments of users into super-segments. For instance, adcampaigns may be assigned among categories, with each categorycorresponding to a respective subject matter. Examples of subject matterwith which a category may correspond include but are not limited totelecommunications, auto, finance, retail, entertainment, travel, etc.Interests of a segment with regard to respective ad campaigns may definean interest profile. If interest profiles of respective segments arecorrelated to at least a threshold extent, those segments may becombined into a common super-segment. For each super-segment, thecumulative interest of the segments in each category may be determined.The cumulative interests for a super-segment may be used to determinewhether that super-segment is to be targeted for receiving a specifiedonline advertisement.

An example method is described in which, for each online ad campaignthat corresponds to a category of a plurality of categories, interestvalues of respective segments of users who are targeted by that onlinead campaign are determined. Super-segments are determined in accordancewith an eigenvector analysis technique that is performed with respect tothe interest values. Each super-segment includes a respective subset ofthe segments of the users. The subset of segments in each super-segmenthas interest values that are correlated with regard to the online adcampaigns to an extent that exceeds a designated threshold. Thesuper-segments are un-correlated. For each super-segment, subsets of theinterest values of the subset of the segments that is included in thatsuper-segment are determined. Each subset of the interest valuesindicates an interest of the subset of the segments that is included inthat super-segment with respect to a corresponding category. Adetermination is made that one or more of the super-segments are to betargeted by a specified online advertisement that corresponds to aspecified category based on the subsets of the interest values for eachsuper-segment.

An example system is described that includes interest logic,super-segment logic, subset logic, and target logic. The interest logicis configured to determine, for each online ad campaign that correspondsto a category of a plurality of categories, interest values ofrespective segments of users who are targeted by that online adcampaign. The super-segment logic is configured to determinesuper-segments in accordance with an eigenvector analysis technique thatis performed with respect to the interest values. Each super-segmentincludes a respective subset of the segments of the users. The subset ofsegments in each super-segment has interest values that are correlatedwith regard to the online ad campaigns to an extent that exceeds adesignated threshold. The super-segments are un-correlated. The subsetlogic is configured to determine, for each super-segment, subsets of theinterest values of the subset of the segments that is included in thatsuper-segment. Each subset of the interest values indicates an interestof the subset of the segments that is included in that super-segmentwith respect to a corresponding category. The target logic is configuredto determine one or more of the super-segments to be targeted by aspecified online advertisement that corresponds to a specified categorybased on the subsets of the interest values for each super-segment.

An example computer program product is described that includes acomputer-readable medium having computer program logic recorded thereonfor enabling a processor-based system to combine segments of users intosuper-segments. The computer program logic includes first, second,third, and fourth program logic modules. The first program logic moduleis for enabling the processor-based system to determine, for each onlinead campaign that corresponds to a category of a plurality of categories,interest values of respective segments of users who are targeted by thatonline ad campaign. The second program logic module is for enabling theprocessor-based system to determine super-segments in accordance with aneigenvector analysis technique that is performed with respect to theinterest values. Each super-segment includes a respective subset of thesegments of the users. The subset of segments in each super-segment hasinterest values that are correlated with regard to the online adcampaigns to an extent that exceeds a designated threshold. Thesuper-segments are un-correlated. The third program logic module is forenabling the processor-based system to determine, for eachsuper-segment, subsets of the interest values of the subset of thesegments that is included in that super-segment. Each subset of theinterest values indicates an interest of the subset of the segments thatis included in that super-segment with respect to a correspondingcategory. The fourth program logic module is for enabling theprocessor-based system to determine one or more of the super-segments tobe targeted by a specified online advertisement that corresponds to aspecified category based on the subsets of the interest values for eachsuper-segment.

Further features and advantages of the disclosed technologies, as wellas the structure and operation of various embodiments, are described indetail below with reference to the accompanying drawings. It is notedthat the invention is not limited to the specific embodiments describedherein. Such embodiments are presented herein for illustrative purposesonly. Additional embodiments will be apparent to persons skilled in therelevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate embodiments of the present inventionand, together with the description, further serve to explain theprinciples involved and to enable a person skilled in the relevantart(s) to make and use the disclosed technologies.

FIG. 1 is a block diagram of an example advertisement (“ad”) network inaccordance with an embodiment described herein.

FIGS. 2A and 2B depict respective portions of a flowchart of an examplemethod for combining segments of users into super-segments in accordancewith embodiments described herein.

FIG. 3 is a block diagram of an example implementation of asuper-segment module shown in FIG. 1 in accordance with an embodimentdescribed herein.

FIG. 4 depicts a flowchart of an example method for determining subsetsof interest values that pertain to a super-segment in accordance with anembodiment described herein.

FIG. 5 is a block diagram of an example implementation of subset logicshown in FIG. 3 in accordance with an embodiment described herein.

FIG. 6 is a block diagram of a computer in which embodiments may beimplemented.

The features and advantages of the disclosed technologies will becomemore apparent from the detailed description set forth below when takenin conjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION OF THE INVENTION I. Introduction

The following detailed description refers to the accompanying drawingsthat illustrate exemplary embodiments of the present invention. However,the scope of the present invention is not limited to these embodiments,but is instead defined by the appended claims. Thus, embodiments beyondthose shown in the accompanying drawings, such as modified versions ofthe illustrated embodiments, may nevertheless be encompassed by thepresent invention.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” or the like, indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may not necessarily include theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same embodiment. Furthermore, whena particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the art to implement such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

Example embodiments are capable of combining segments of users intosuper-segments. For instance, ad campaigns may be assigned amongcategories, with each category corresponding to a respective subjectmatter. Examples of subject matter with which a category may correspondinclude but are not limited to telecommunications, auto, finance,retail, entertainment, travel, etc. For instance, a first ad campaignmay be assigned to an auto category, a second ad campaign may beassigned to a retail category, a third ad campaign may be assigned to atelecommunications (telco) category, a fourth ad campaign may beassigned to an entertainment category, and so on. Interests of a segmentwith regard to respective ad campaigns may define an interest profile.If interest profiles of respective segments are correlated to at least athreshold extent, those segments may be combined into a commonsuper-segment. For each super-segment, the cumulative interest of thesegments in each category may be determined. The cumulative interestsfor a super-segment may be used to determine whether that super-segmentis to be targeted for receiving a specified online advertisement.

Techniques described herein have a variety of benefits as compared toconventional techniques for selecting segments for receipt ofadvertisements. For example, by determining which segments can begrouped together as super-segments, a performance index may be assignedby category to individual segments (e.g., third-party segments). Thetechniques may determine which segments are to be targeted when a new adcampaign is initiated based on the super-segments in which thosesegments are included. The super-segments may be targeted from thebeginning of an ad campaign, rather than waiting for information to begathered about those super-segments (or each segment therein) during atime period that is allocated to the ad campaign. Performance of asuper-segment may be attributed to the segments that are included inthat super-segment, which may increase the amount of availableinformation regarding performance of the segments. Accordingly, thosesegments may be targeted more frequently in ad campaigns. The techniquesmay increase a click rate and/or a conversion rate that is associatedwith an ad campaign, as compared to conventional techniques. Thetechniques may reduce (e.g., eliminate) manual effort characteristic ofsome conventional techniques for selecting segments. For instance, thetechniques may obviate a need for a human to remember how segmentsperformed with respect to ad campaigns. The techniques may obviate aneed to semantically compare names of segments to the name of anadvertisement in order to determine segments that are to be targeted forreceiving the advertisement. The techniques may increase aneffectiveness with which data regarding segments of users is purchased.For instance, more capital may be allocated to data suppliers thatprovide information regarding relatively higher performing segments thanto data suppliers that provide information regarding relatively lowerperforming segments.

II. Example Embodiments

FIG. 1 is a block diagram of an example advertisement (“ad”) network 100in accordance with an embodiment described herein. Generally speaking,ad network 100 operates to serve ads (e.g., contextual ads, sponsoredads, display ads, etc.) provided by advertisers to sites (e.g., Websites) published by publishers when such sites are accessed by certainusers of the network, thereby delivering the ads to the users. Moreover,ad network determines which segment(s) of users are to receive each ad.As shown in FIG. 1, ad network 100 includes a plurality of user systems102A-102M, a plurality of publisher servers 104A-104N, an ad servingsystem 106, and at least one advertiser system 108. Communication amonguser systems 102A-102M, publisher servers 104A-104N, ad serving system106, and advertiser system 108 is carried out over a network usingwell-known network communication protocols. The network may be awide-area network (e.g., the Internet), a local area network (LAN),another type of network, or a combination thereof.

User systems 102A-102M are computers or other processing systems, eachincluding one or more processors, that are capable of communicating withany one or more of publisher servers 104A-104N. For example, each ofuser systems 102A-102M may include a client that enables a user who owns(or otherwise has access to) the user system to access sites (e.g., Websites) that are hosted by publisher servers 104A-104N. For instance, aclient may be a Web crawler, a Web browser, a non-Web-enabled client, orany other suitable type of client. By way of example, each of usersystems 102A-102M is shown in FIG. 1 to be communicatively coupled topublisher 1 server(s) 104A for the purpose of accessing a site publishedby publisher 1. Persons skilled in the relevant art(s) will recognizethat each of user systems 102A-102M is capable of connecting to any ofpublisher servers 104A-104N for accessing the sites hosted thereon.

Publisher servers 104A-104N are computers or other processing systems,each including one or more processors, that are capable of communicatingwith user systems 102A-102M. Each of publisher servers 104A-104N isconfigured to host a site (e.g., a Web site) published by acorresponding publisher 1-N so that such site is accessible to users ofnetwork 100 via user systems 102A-102M. Each of publisher servers104A-104N is further configured to serve advertisements (e.g.,contextual ads, sponsored ads, display ads, etc.) to users of network100 when those users access a Web site that is hosted by the respectivepublisher server.

Publisher servers 104A-104N are further configured to execute softwareprograms that provide information to users in response to receivingrequests, such as hypertext transfer protocol (HTTP) requests, fromusers, instant messaging (IM) applications, or web-based email. Forexample, the information may include Web pages, images, other types offiles, output of executables residing on the publisher servers, IM chatsessions, emails, etc. In accordance with this example, the softwareprograms that are executing on publisher servers 104A-104N may provideWeb pages that include interface elements (e.g., buttons, hyperlinks,etc.) that a user may select for accessing the other types ofinformation. The Web pages may be provided as hypertext markup language(HTML) documents and objects (e.g., files) that are linked therein, forexample.

One type of software program that may be executed by any one or more ofpublisher servers 104A-104N is a Web search engine. For instance,publisher 1 server(s) 104A is shown to include search engine module 114,which is configured to execute a Web search engine. Search engine module114 is capable of searching for information on the World Wide Web (WWW)based on queries that are provided by users. For example, search enginemodule 114 may search among publisher servers 104A-104N for requestedinformation. Upon discovering instances of information that are relevantto a user's query, search engine module 114 ranks the instances based ontheir relevance to the query. Search engine module 114 provides a listthat includes each of the instances in an order that is based on therespective rankings of the instances. The list may be referred to as thesearch results corresponding to the query.

Search engine module 114 is configured to provide an ad call to adserving system 106, upon receiving a query from a user, to request anadvertisement (e.g., a contextual ad, a sponsored ad, a display ad,etc.) to be provided to the user. Search engine module 114 forwards auser identifier that corresponds to (e.g., that specifies) the user toad serving system 106. For example, the user identifier may include abrowser cookie of the user or information that is included in thebrowser cookie. In another example, the user identifier may include ausername that is associated with the user. Search engine module 114 mayincorporate the user identifier in the ad call or may provide the useridentifier in addition to the ad call.

It will be recognized that a search engine module (e.g., search enginemodule 114) need not necessarily be included in publisher server(s) inorder for the publisher server(s) to provide an ad call to ad servingsystem 1016. For instance, any one or more of publisher servers104A-104N may provide an ad call to ad serving system 106 withoututilizing a search engine module.

Ad serving system 106 is a computer or other processing system,including one or more processors, that is capable of servingadvertisements (e.g., contextual ads, sponsored ads, display ads, etc.)that are received from advertiser system 108 to each of publisherservers 104A-104N when the sites hosted by such servers are accessed bycertain users, thereby facilitating the delivery of such advertisementsto the users. For instance, ad serving system 106 may serveadvertisement(s) to a publisher server 104 in response to an ad callthat is received from that publisher server 104. The ad call may beinitiated in response to a query that is provided by a user. Ad servingsystem 106 may select an appropriate advertisement to be provided to theuser based on a user identifier that is received from search enginemodule 114.

Ad serving system 106 includes an ad selector 110. Ad selector 110 isconfigured to select an advertisement (e.g., a contextual ad, asponsored ad, a display ad, etc.) for provision to a user based on theuser information contained in the ad call. This user information may ormay not be related to a super-segment. A super-segment is a combinationof segments of users. A segment of users is a subset of the users thatis associated with a respective topic. For instance, a first segment ofthe users may have read online articles about crime. In accordance withthis example, the first segment may be associated with a topic of “crimearticles”. In another example, a second segment of the users may haveaccessed an online gaming website. Accordingly, the second segment maybe associated with a topic of “online gaming”. Actions of the users(e.g., reading online articles about crime, accessing an online gamingwebsite, etc.) may be determined based on cookies that are associatedwith the users. When a user visits a website, for example, a provider ofthe website may insert an indication of the user's visit in a cookie ofthe user. Users who perform similar online activities (e.g., access acommon website) are said to belong to a common segment. A topic withwhich the segment is associated depends on the nature of the onlineactivity (e.g., subject matter of a website that is accessed by theusers in the segment). A user may be included in more than one segment.Techniques for combining segments into super-segments are discussed ingreater detail below with reference to super-segment module 112 andFIGS. 2-5.

Ad selector 110 receives an ad call from a publisher server 104. The adcall requests an advertisement to be displayed to a user. Ad selector110 receives a user identifier that corresponds to the user from thepublisher server 104. The user identifier may be included in the ad callor may be received in addition to the ad call. Ad selector 110 may usethe user identifier to determine which super-segment the user fallsinto. For instance, ad selector 110 may access a look-up table andcompare the user identifier with information (e.g., metadata) stored inthe look-up table that is associated with the super-segments among whichusers are assigned to determine to which of the super-segments the useris assigned.

Ad selector 110 includes a super-segment module 112. Super-segmentmodule 112 combines segments of users into super-segments. For example,super-segment module 112 stores information regarding performance ofonline ad campaigns. The performance of each online ad campaign reflectsthe interest of each segment that was targeted by the online ad campaignor was otherwise allowed to participate in the online ad campaign. Eachonline ad campaign corresponds to a specified category, such astelecommunications, auto, finance, retail, entertainment, travel, etc.The performance among the online ad campaigns for each segment may becompared to determine subsets of the segments whose performance iscorrelated to an extent that exceeds a designated threshold.Super-segment module 112 combines the segments in each subset to providea respective super-segment.

The information regarding the performance of the online ad campaignsindicates to which category each online campaign is assigned.Super-segment module 112 uses such information to determine for eachsuper-segment the cumulative interest of the segments in thatsuper-segment in each category. Super-segment module 112 uses thecumulative interests for each super-segment to determine whichsuper-segment(s) are to be targeted for receiving a specified onlineadvertisement. For example, super-segment module 112 may compare thecumulative interests of the respective super-segments in the categorythat is most closely related to a subject matter with which thespecified online advertisement is associated to determine whichsuper-segment(s) are to be targeted. In accordance with this example,super-segment module 112 may determine that a designated super-segmentis to be targeted based on the cumulative interest of that super-segmentin the category being a highest cumulative interest of the cumulativeinterests of the respective super-segments, based on the cumulativeinterest of that super-segment exceeding a specified threshold, and/orbased on any other suitable criteria. As mentioned above, techniques forcombining segments into super-segments are discussed in greater detailbelow with reference to FIGS. 2-5.

Advertiser system 108 is a computer or other processing system,including one or more processors, that is capable of providingadvertisements (e.g., contextual ads, sponsored ads, display ads, etc.)to ad serving system 106, so that the advertisements may be served topublisher servers 104A-104N when the sites hosted by the respectiveservers are accessed by certain users. Although one advertiser system108 is depicted in FIG. 1, persons skilled in the relevant art(s) willrecognize that any number of advertiser systems may be communicativelycoupled to ad serving system 106.

Although advertiser system 108 and user systems 102A-102M are depictedas desktop computers in FIG. 1, persons skilled in the relevant art(s)will appreciate that advertiser system 108 and user systems 102A-102Mmay include any browser-enabled system or device, including but notlimited to a laptop computer, a tablet computer, a personal digitalassistant, a cellular telephone, or the like.

FIGS. 2A and 2B depict respective portions of a flowchart 200 of anexample method for combining segments of users into super-segments inaccordance with embodiments described herein. Flowchart 200 may beperformed by super-segment module 112 of ad network 100 shown in FIG. 1,for example. For illustrative purposes, flowchart 200 is described withrespect to a super-segment module 300 shown in FIG. 3, which is anexample of a super-segment module 112, according to an embodiment. Asshown in FIG. 3, super-segment module 300 includes interest logic 302,determination logic 304, removal logic 306, super-segment logic 308,subset logic 310, and target logic 312. Further structural andoperational embodiments will be apparent to persons skilled in therelevant arts) based on the discussion regarding flowchart 200.

As shown in FIG. 2A, the method of flowchart 200 begins at step 202. Instep 202, for each online ad campaign that corresponds to a category ofa plurality of categories, interest values of respective segments ofusers who are targeted by that online ad campaign are determined. Eachinterest value indicates an amount of interest that the respectivesegment of the users has with respect to that online ad campaign. Forinstance, each interest value may indicate a number of impressions,clicks, conversions, or any combination thereof that the respectivesegment of the users performs with respect to the corresponding onlinead campaign. Each segment of the users is associated with a respectivetopic. In an example implementation, interest logic 302 determines theinterest values of the respective segments for each of the online adcampaigns.

At step 204, a determination is made whether a sum of the interestvalues for any of the online ad campaigns is less than a designatedthreshold. If a sum of the interest values for any of the online adcampaigns is less than the designated threshold, flow continues to step206. Otherwise, flow continues to step 208. In an exampleimplementation, determination logic 304 determines whether a sum of theinterest values for any of the online ad campaigns is less than thedesignated threshold.

At step 206, the online ad campaign(s) for which a sum of thecorresponding interest values is less than the designated threshold areremoved from the online ad campaigns. In an example implementation,removal logic 306 removes from the online ad campaigns the online adcampaign(s) for which a sum of the corresponding interest values is lessthan the designated threshold.

At step 208, a determination is made whether any segment of the usershas a sum of interest values, which correspond to respective online adcampaigns, whose sum is less than a specified threshold. If any segmentof the users has a sum of interest values whose sum is less than thespecified threshold, flow continues to step 210. Otherwise, flowcontinues to step 212, which is shown in FIG. 2B. In an exampleimplementation, determination logic 304 determines whether any segmentof the users has a sum of interest values, which correspond torespective online ad campaigns, whose sum is less than the specifiedthreshold.

At step 210, the segment(s) of the users that have interest values,which correspond to respective online ad campaigns, whose sum is lessthan the specified threshold are removed from the segments. In anexample implementation, removal logic 306 removes from the segments ofthe users the segment(s) that have interest values, which correspond torespective online ad campaigns, whose sum is less than the specifiedthreshold. Upon completion of step 210, flow continues to step 212,which is shown in FIG. 2B.

At step 212, super-segments are determined in accordance with aneigenvector analysis technique that is performed with respect to theinterest values. Each super-segment includes a respective subset of thesegments of the users. The segments in each super-segment have interestvalues that are correlated with regard to the online ad campaigns to anextent that exceeds a designated threshold. The super-segments areun-correlated. Examples of an eigenvector analysis technique include butare not limited to a principal component analysis technique, a factoranalysis technique, and a singular value decomposition technique. In anexample implementation, super-segment logic 308 determines thesuper-segments.

In an example embodiment, any of a variety of techniques may be used tomeasure sampling adequacy and/or selection of variables for use inaccordance with the eigenvector analysis technique. Examples of suchtechniques include but are not limited to Bartlett's test of sphericity,partial correlation coefficient index (e.g., Kaiser-Meyer-Olkin (KMO)index), anti-image correlation matrix, orthogonal rotation (e.g.,varimax, quartimax, or equimax rotation), oblique rotation (directoblimin or promax), etc. Any one or more of such techniques may betriggered based on designated (e.g., pre-determined) criteria. Forinstance, if KMO<0.5, segments having a relatively low KMO (e.g., aspecified number of segments, segments having a KMO less than adesignated threshold (e.g., 0.5), etc.) may be removed fromconsideration for inclusion among the super-segments. A determination asto which segments are to be removed may be based on an anti-imagecorrelation matrix regarding the segments, for example.

In another example embodiment, any of a variety of techniques may beused to select a number of super-segments that are to be determined inaccordance with the eigenvector analysis technique. Examples of suchtechniques include but are not limited to a scree plot, eigen valuecut-off criteria, cumulative variance explained, interpretability of thesolution, component rotation, etc. A number of super-segments determinedin accordance with a technique described herein may be proportional toan amount of information (e.g., variance) regarding the underlyingsegments that is retained. Accordingly, reduction of the number ofsuper-segments may be weighed against completeness of the retainedinformation to determine how many super-segments are to be selected. Forinstance, selection of 18 super-segments may result in retention of 80%of the information regarding the underlying segments; selection of 3super-segments may result in retention of 25% of the information, and soon. These values are provided for illustrative purposes and are notintended to be limiting. The amount of information retained based onselection of a specified number of super-segments may be dependent on aparticular application of the techniques described herein. A rotatedcomponent matrix may include information that indicates in whichsuper-segment each segment is included.

At step 214, for each super-segment, subsets of the interest values ofthe subset of the segments that is included in that super-segment aredetermined. Each subset of the interest values indicates an interest ofthe subset of the segments that is included in that super-segment withrespect to a corresponding category. In an example implementation,subset logic 310 determines the subsets of the interest values for eachsuper-segment.

At step 216, one or more of the super-segments are determined to betargeted by a specified online advertisement that corresponds to aspecified category based on the subsets of the interest values for eachsuper-segment. In an example implementation, target logic 312 determinesone or more of the super-segments to be targeted by the specified onlineadvertisement.

In an example embodiment, determining the subsets for each super-segmentat step 214 includes, for each of the online ad campaigns, dividing afirst cumulative interest value that represents a sum of the interestvalues of the subset of the segments that is included in eachsuper-segment by a second cumulative interest value that represents asum of the interest values of the segments of the users who are targetedby that online ad campaign to provide a respective indexed interestvalue. In accordance with this embodiment, determining one or more ofthe super-segments to be targeted at step 216 includes determining oneor more of the super-segments to be targeted based on the indexedinterest values for each of the online ad campaigns.

In some example embodiments, one or more steps 202, 204, 206, 208, 210,212, 214, and/or 216 of flowchart 200 may not be performed. Moreover,steps in addition to or in lieu of steps 202, 204, 206, 208, 210, 212,214, and/or 216 may be performed.

It will be recognized that super-segment module 300 may not include oneor more of interest logic 302, determination logic 304, removal logic306, super-segment logic 308, subset logic 310, and/or target logic 312.Furthermore, super-segment module 300 may include modules in addition toor in lieu of interest logic 302, determination logic 304, removal logic306, super-segment logic 308, subset logic 310, and/or target logic 312.

FIG. 4 depicts a flowchart 400 of an example implementation of step 214of FIG. 2 in accordance with an embodiment described herein. Flowchart400 may be performed by subset logic 310 shown in FIG. 3, for example.For illustrative purposes, flowchart 400 is described with respect tosubset logic 500 shown in FIG. 5, which is an example of subset logic310, according to an embodiment. As shown in FIG. 5, subset logic 500includes index logic 502, weight logic 504, and combination logic 506.Further structural and operational embodiments will be apparent topersons skilled in the relevant art(s) based on the discussion regardingflowchart 400.

As shown in FIG. 4, the method of flowchart 400 begins at step 402. Instep 402, for each of the online ad campaigns, a first cumulativeconversion rate value that represents a sum of the conversion rates ofthe subset of the segments that is included in each super-segment isdivided by a second cumulative conversion rate value that represents asum of the conversion rate values of the segments of the users (e.g.,all users) who are reached by that online ad campaign to provide arespective indexed conversion rate value. It will be recognized that theusers who are reached by the online ad campaign need not necessarily bespecifically targeted by that online ad campaign. In an exampleimplementation, index logic 502 divides the first cumulative conversionrate value for each super-segment by the second cumulative conversionrate value for the corresponding online ad campaign to provide therespective indexed conversion rate value.

At step 404, for each super-segment, a number of impressions performedby the subset of the segments that is included in that super-segmentwith respect to each online ad campaign is divided by a number ofimpressions performed by the subset of the segments that is included inthat super-segment with respect to the online ad campaigns to provideweights that correspond to the respective online ad campaigns. In anexample implementation, weight logic 504 divides the number ofimpressions performed by each super-segment with respect to each onlinead campaign by the number of impressions performed by that super-segmentwith respect to a total of the online ad campaigns to provide weightsthat correspond to the respective online ad campaigns.

At step 406, the indexed conversion rate values and the correspondingweights are multiplied to provide weighted conversion rate values. In anexample implementation, combination logic 506 multiplies the indexedconversion rate values and the corresponding weighs to provide theconversion weight values.

At step 408, the weighted conversion rate values that correspond to eachcategory are summed to provide a respective cumulative weighted value.In an example implementation, combination logic 506 sums the weightedconversion rate values that correspond to each category to provide arespective cumulative weighted value.

In an example embodiment, one or more super-segments to be targeted by aspecified online advertisement may be determined based on the cumulativeweighted value for each category for each super-segment.

In some example embodiments, one or more steps 402, 404, 406, and/or 408of flowchart 400 may not be performed. Moreover, steps in addition to orin lieu of steps 402, 404, 406, and/or 408 may be performed.

It will be recognized that subset logic 500 may not include one or moreof index logic 502, weight logic 504, and/or combination logic 506.Furthermore, subset logic 500 may include modules in addition to or inlieu of index logic 502, weight logic 504, and/or combination logic 506.

III. Other Example Embodiments

Ad selector 110, super-segment module 112, search engine module 114,interest logic 302, determination logic 304, removal logic 306,super-segment logic 308, subset logic 310, target logic 312, index logic502, weight logic 504, and combination logic 506 may be implemented inhardware, software, firmware, or any combination thereof For example, adselector 110, super-segment module 112, search engine module 114,interest logic 302, determination logic 304, removal logic 306,super-segment logic 308, subset logic 310, target logic 312, index logic502, weight logic 504, and/or combination logic 506 may be implementedas computer program code configured to be executed in one or moreprocessors. In another example, ad selector 110, super-segment module112, search engine module 114, interest logic 302, determination logic304, removal logic 306, super-segment logic 308, subset logic 310,target logic 312, index logic 502, weight logic 504, and/or combinationlogic 506 may be implemented as hardware logic/electrical circuitry.

IV. Example Computer Implementation

The embodiments described herein, including systems, methods/processes,and/or apparatuses, may be implemented using well knownservers/computers, such as computer 600 shown in FIG. 6. For instance,elements of example ad network 100, including any of the user systems102A-102M, any of the publisher servers 104A-104N, advertiser system108, and ad serving system 106 depicted in FIG. 1 and elements thereof,each of the steps of flowchart 200 depicted in FIG. 2, and each of thesteps of flowchart 400 depicted in FIG. 4 can each be implemented usingone or more computers 600.

Computer 600 can be any commercially available and well known computercapable of performing the functions described herein, such as computersavailable from International Business Machines, Apple, Sun, HP, Dell,Cray, etc. Computer 600 may be any type of computer, including a desktopcomputer, a server, etc.

As shown in FIG. 6, computer 600 includes one or more processors (e.g.,central processing units (CPUs)), such as processor 606. Processor 606may include ad selector 110, super-segment module 112, and/or searchengine module 114 of FIG. 1; interest logic 302, determination logic304, removal logic 306, super-segment logic 308, subset logic 310,and/or target logic 312 of FIG. 3; index logic 502, weight logic 504,and/or combination logic 506 of FIG. 5; or any portion or combinationthereof, for example, though the scope of the embodiments is not limitedin this respect. Processor 606 is connected to a communicationinfrastructure 602, such as a communication bus. In some embodiments,processor 606 can simultaneously operate multiple computing threads.

Computer 600 also includes a primary or main memory 608, such as arandom access memory (RAM). Main memory has stored therein control logic624A (computer software), and data.

Computer 600 also includes one or more secondary storage devices 610.Secondary storage devices 610 include, for example, a hard disk drive612 and/or a removable storage device or drive 614, as well as othertypes of storage devices, such as memory cards and memory sticks. Forinstance, computer 600 may include an industry standard interface, suchas a universal serial bus (USB) interface for interfacing with devicessuch as a memory stick. Removable storage drive 614 represents a floppydisk drive, a magnetic tape drive, a compact disk drive, an opticalstorage device, tape backup, etc.

Removable storage drive 614 interacts with a removable storage unit 616.Removable storage unit 616 includes a computer useable or readablestorage medium 618 having stored therein computer software 624B (controllogic) and/or data. Removable storage unit 616 represents a floppy disk,magnetic tape, compact disc (CD), digital versatile disc (DVD), Blue-raydisc, optical storage disk, memory stick, memory card, or any othercomputer data storage device. Removable storage drive 614 reads fromand/or writes to removable storage unit 616 in a well known manner.

Computer 600 also includes input/output/display devices 604, such asmonitors, keyboards, pointing devices, etc.

Computer 600 further includes a communication or network interface 620.Communication interface 620 enables computer 600 to communicate withremote devices. For example, communication interface 620 allows computer600 to communicate over communication networks or mediums 622(representing a form of a computer useable or readable medium), such aslocal area networks (LANs), wide area networks (WANs), the Internet,etc. Network interface 620 may interface with remote sites or networksvia wired or wireless connections. Examples of communication interface622 include but are not limited to a modem, a network interface card(e.g., an Ethernet card), a communication port, a Personal ComputerMemory Card International Association (PCMCIA) card, etc.

Control logic 624C may be transmitted to and from computer 600 via thecommunication medium 622.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, computer 600, main memory 608,secondary storage devices 610, and removable storage unit 616. Suchcomputer program products, having control logic stored therein that,when executed by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the invention.

For example, each of the elements of example ad selector 110,super-segment module 112, and search engine module 114, each depicted inFIG. 1; interest logic 302, determination logic 304, removal logic 306,super-segment logic 308, subset logic 310, and target logic 312, eachdepicted in FIG. 3; index logic 502, weight logic 504, and combinationlogic 506, each depicted in FIG. 5; each of the steps of flowchart 200depicted in FIG. 2; and each of the steps of flowchart 400 depicted inFIG. 4 can be implemented as control logic that may be stored on acomputer useable medium or computer readable medium, which can beexecuted by one or more processors to operate as described herein.

As used herein, the terms “computer program medium” and“computer-readable medium” are used to generally refer to media such asa hard disk associated with hard disk drive 612, removable storage unit616, random access memories (RAMs), read only memories (ROM), and thelike. Such computer-readable storage media are distinguished from andnon-overlapping with communication media. Communication media typicallyembodies computer-readable instructions, data structures, programmodules or other data in a modulated data signal such as a carrier wave.The term “modulated data signal” means a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wireless media such as acoustic, RF,infrared and other wireless media. Example embodiments are also directedto such communication media.

V. Conclusion

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be apparent to persons skilled in the relevantart(s) that various changes in form and details can be made thereinwithout departing from the spirit and scope of the invention. Thus, thebreadth and scope of the present invention should not be limited by anyof the above-described exemplary embodiments, but should be defined onlyin accordance with the following claims and their equivalents.

What is claimed is:
 1. A method comprising: for each of a plurality ofonline ad campaigns that corresponds to a category of a plurality ofsub-categories, determining, by a processor, a plurality of interestvalues of a plurality of respective segments of users who are targetedby that online ad campaign, each interest value indicating an amount ofinterest that the respective segment of the users has with respect tothat online ad campaign, each segment of the users being associated witha respective topic; determining, by a processor, a plurality ofsuper-segments, each super-segment including a respective subset of thesegments of the users, in accordance with an eigenvector analysistechnique that is performed with respect to the pluralities of interestvalues, the subset of segments in each super-segment having interestvalues that are correlated with regard to the plurality of online adcampaigns to an extent that exceeds a designated threshold, theplurality of super-segments being un-correlated; for each super-segment,determining, by a processor, a plurality of subsets of the interestvalues of the subset of the segments that is included in thatsuper-segment, each subset of the interest values indicating an interestof the subset of the segments that is included in that super-segmentwith respect to a corresponding category of the plurality of categories,including, for each of the plurality of online ad campaigns, dividing afirst cumulative interest value that represents a sum of the interestvalues of the subset of the segments that is included in eachsuper-segment by a second cumulative interest value that represents asum of the interest values of the plurality of segments of the users whoare reached by that online ad campaign to provide a respective indexedinterest value; and determining, by a processor, one or more of thesuper-segments to be targeted by a specified online advertisement thatcorresponds to a specified category of the plurality of categories basedthe indexed interest values for each of the plurality of online adcampaigns.
 2. The method of claim 1, wherein each interest valueindicates a number of impressions that the respective segment of theusers performs with respect to the corresponding online ad campaign. 3.The method of claim 1, wherein each interest value indicates a number ofclicks that the respective segment of the users performs with respect tothe corresponding online ad campaign.
 4. The method of claim 1, whereineach interest value indicates a number of conversions that therespective segment of the users performs with respect to thecorresponding online ad campaign.
 5. The method of claim 1, furthercomprising: removing from the plurality of online ad campaigns at leastone online ad campaign for which a sum of the corresponding plurality ofinterest values is less than a designated threshold; wherein determiningthe plurality of super-segments comprises: determining the plurality ofsuper-segments in response to removing from the plurality of online adcampaigns the at least one online ad campaign for which the sum of thecorresponding plurality of interest values is less than the designatedthreshold.
 6. The method of claim 1, further comprising: removing fromthe plurality of the segments of the users at least one segment of theusers that has interest values, which correspond to respective online adcampaigns of the plurality of online ad campaigns, whose sum is lessthan a designated threshold; wherein determining the plurality ofsuper-segments comprises: determining the plurality of super-segments inresponse to removing from the plurality of the segments of the users theat least one segment of the users that has the interest values whose isless than the designated threshold.
 7. The method of claim 1, whereindetermining the plurality of super-segments comprises: determining theplurality of super-segments in accordance with a principal componentanalysis technique.
 8. The method of claim 1, wherein determining theplurality of super-segments comprises: determining the plurality ofsuper-segments in accordance with a factor analysis technique.
 9. Themethod of claim 1, wherein determining the plurality of super-segmentscomprises: determining the plurality of super-segments in accordancewith a singular value decomposition technique.
 10. The method of claim1, wherein for each super-segment, determining the plurality of subsetsof the interest values of the subset of the segments that is included inthat super-segment comprises: for each of the plurality of online adcampaigns, dividing a first cumulative conversion rate value thatrepresents a sum of the conversion rates of the subset of the segmentsthat is included in each super-segment by a second cumulative conversionrate value that represents a sum of the conversion rate values of theplurality of segments of the users who are reached by that online adcampaign to provide a respective indexed conversion rate value; for eachsuper-segment, dividing a number of impressions performed by the subsetof the segments that is included in that super-segment with respect toeach online ad campaign by a number of impressions performed by thesubset of the segments that is included in that super-segment withrespect to the plurality of online ad campaigns to provide a pluralityof weights that correspond to the plurality of respective online adcampaigns; multiplying the indexed conversion rate values and thecorresponding weights to provide weighted conversion rate values; andsumming the weighted conversion rate values that correspond to eachcategory to provide a respective cumulative weighted value; whereindetermine the one or more super-segments to be targeted by the specifiedonline advertisement comprises: determine the one or more super-segmentsto be targeted by the specified online advertisement based on thecumulative weighted value for each category for each super-segment. 11.A system comprising: interest logic configured to determine, by means ofa processor, for each of a plurality of online ad campaigns thatcorresponds to a category of a plurality of sub-categories, a pluralityof interest values of a plurality of respective segments of users whoare targeted by that online ad campaign, each interest value indicatingan amount of interest that the respective segment of the users has withrespect to that online ad campaign, each segment of the users beingassociated with a respective topic; super-segment logic configured todetermine a plurality of super-segments, each super-segment including arespective subset of the segments of the users, in accordance with aneigenvector analysis technique that is performed with respect to thepluralities of interest values, the subset of segments in eachsuper-segment having interest values that are correlated with regard tothe plurality of online ad campaigns to an extent that exceeds adesignated threshold, the plurality of super-segments beingun-correlated; subset logic configured to determine, for eachsuper-segment, a plurality of subsets of the interest values of thesubset of the segments that is included in that super-segment, eachsubset of the interest values indicating an interest of the subset ofthe segments that is included in that super-segment with respect to acorresponding category of the plurality of categories, wherein thesubset logic is configured to divide, for each of the plurality ofonline ad campaigns, a first cumulative interest value that represents asum of the interest values of the subset of the segments that isincluded in each super-segment by a second cumulative interest valuethat represents a sum of the interest values of the plurality ofsegments of the users who are targeted by that online ad campaign toprovide a respective indexed interest value; and target logic configuredto determine one or more of the super-segments to be targeted by aspecified online advertisement that corresponds to a specified categoryof the plurality of categories based on the indexed interest values foreach of the plurality of online ad campaigns.
 12. The system of claim11, further comprising: removal logic configured to remove from theplurality of online ad campaigns at least one online ad campaign forwhich a sum of the corresponding plurality of interest values is lessthan a designated threshold.
 13. The system of claim 11, furthercomprising: removal logic configured to remove from the plurality of thesegments of the users at least one segment of the users that hasinterest values, which correspond to respective online ad campaigns ofthe plurality of online ad campaigns, whose sum is less than adesignated threshold.
 14. The system of claim 11, wherein thesuper-segment logic is configured to determine the plurality ofsuper-segments in accordance with a principal component analysistechnique.
 15. The system of claim 11, wherein the super-segment logicis configured to determine the plurality of super-segments in accordancewith a factor analysis technique.
 16. The system of claim 11, whereinthe super-segment logic is configured to determine the plurality ofsuper-segments in accordance with a singular value decompositiontechnique.
 17. The system of claim 11, wherein the subset logiccomprises: index logic configured to divide, for each of the pluralityof online ad campaigns, a first cumulative conversion rate value thatrepresents a sum of the conversion rates of the subset of the segmentsthat is included in each super-segment by a second cumulative conversionrate value that represents a sum of the conversion rate values of theplurality of segments of the users who are targeted by that online adcampaign to provide a respective indexed conversion rate value; weightlogic configured to divide, for each super-segment, a number ofimpressions performed by the subset of the segments that is included inthat super-segment with respect to each online ad campaign by a numberof impressions performed by the subset of the segments that is includedin that super-segment with respect to the plurality of online adcampaigns to provide a plurality of weights that correspond to theplurality of respective online ad campaigns; and combination logicconfigured to multiply the indexed conversion rate values and thecorresponding weights to provide weighted conversion rate values, thecombination logic further configured to sum the weighted conversion ratevalues that correspond to each category to provide a respectivecumulative weighted value; wherein the target logic is configured todetermine the one or more super-segments to be targeted by the specifiedonline advertisement based on the cumulative weighted value for eachcategory for each super-segment.